<?php
//------------------------------------------------------------ Contraintes d'accès de la page

	// on vérifie que cette page est appelée à partir de l'index et que l'utilisateur a le droit de consultation
	if(isset($_SESSION) && ($GLOBALS['USER']['level'] >= 2 || $GLOBALS['USER']['admin'])){

?>
<?php
//------------------------------------------------------------ Définition des variables d'affichage

	// variable indiquant la page sélectionnée
	if(isset($_GET['l']) && numericInt($_GET['l'])){ 
		$page = $_GET['l'];
	}else{
		$page = 1;
	}
	
	// variable indiquant l'ordre selon lequel on tri la liste
	if(isset($_GET['o'])){
		switch($_GET['o']){
		case 0: $ordre = 0; $ordreBDD = "ASC"; break;
		case 1: $ordre = 1; $ordreBDD = "DESC"; break;
		default: $ordre = 0; $ordreBDD = "ASC"; break;
		}
	}else{
		$ordre = 0;
		$ordreBDD = "ASC";
	}
	
	// variable indiquant la colonne selon laquelle on tri la liste
	if(isset($_GET['t'])){
		switch($_GET['t']){
		case 1: $tri = 1; $triBDD = "nomGen ".$ordreBDD.", famille ".$ordreBDD; break;
		case 2: $tri = 2; $triBDD = "nomAuteur ".$ordreBDD; break;
		default: $tri = 1; $triBDD = "nomGen ".$ordreBDD.", famille ".$ordreBDD; break;
		}
	}else{
		$tri = 1;
		$triBDD = "nomGen ".$ordreBDD.", famille ".$ordreBDD;
	}
	
	// Traitement des options
	$opt_let = "all";
	
	if(isset($_GET['opt_let'])){
		if(mb_ereg("[a-z]", $_GET['opt_let'])){
			$opt_let = $_GET['opt_let'];
		}
	}
	
?>
<?php
//------------------------------------------------------------ Récupération de la liste des genres

	// On compte le nombre total de genres enregistrés
	$nb_total_genres = 0;
	
	$query_compte_genres = "SELECT COUNT(*) ";
	$query_compte_genres .= "FROM genre ";
	
   if($opt_let != "all"){
		$query_compte_genres .= "WHERE NOMGENRE LIKE '".$opt_let."%' ";
	}
	
	
	$result_compte_genres = mysql_query($query_compte_genres, $connexion) or logError("COMPTE GENRES-".$query_compte_genres."-".mysql_error());
	
	$tab_compte_genres = mysql_fetch_row($result_compte_genres);
	
	$nb_total_genres = $tab_compte_genres[0];
	
	mysql_free_result($result_compte_genres);
	
	// récupération des informations des genres
	$query_recuperation_liste_genres = "SELECT g.CODEGENRE AS id, g.NOMGENRE AS nomGen, f.NOMFAMILLE AS famille, c.NOMCLASSIFICATION AS classification, a.CODEAUTEUR AS idAuteur, a.ABREVIATIONAUTEUR AS nomAuteur ";
	$query_recuperation_liste_genres .= "FROM genre g ";
   $query_recuperation_liste_genres .= "LEFT JOIN auteur a ON a.CODEAUTEUR = g.CODEAUTEUR ";
	$query_recuperation_liste_genres .= "LEFT JOIN famille_a_pour_genre l INNER JOIN famille f ON f.CODEFAMILLE = l.CODEFAMILLE INNER JOIN classification c ON c.CODECLASSIFICATION = l.CODECLASSIFICATION ON l.CODEGENRE = g.CODEGENRE ";
	$query_recuperation_liste_genres .= "WHERE l.CODECLASSIFICATION = (SELECT MIN(CODECLASSIFICATION) FROM famille_a_pour_genre WHERE CODEGENRE = g.CODEGENRE) ";
	
   if($opt_let != "all"){
		$query_recuperation_liste_genres .= "AND g.NOMGENRE LIKE '".$opt_let."%' ";
	}
	
	$query_recuperation_liste_genres .= "ORDER BY ".$triBDD." ";
	$query_recuperation_liste_genres .= "LIMIT ".(($page-1)*$GLOBALS['CONFIG']['nbParPage']).", ".($GLOBALS['CONFIG']['nbParPage'])." ";
	
	$result_recuperation_liste_genres = mysql_query($query_recuperation_liste_genres, $connexion) or logError("RECUPERATION LISTE GENRES-".$query_recuperation_liste_genres."-".mysql_error());
	
	$lst_genres = array(); // on créé un tableau qui contient la liste des genres ainsi que les informations de chacun
	$nb_genres = 0;
	while($tab_recuperation_liste_genres = mysql_fetch_assoc($result_recuperation_liste_genres)){
	
		$lst_genres[$nb_genres] = $tab_recuperation_liste_genres;
		$nb_genres++;
		
	}
	
	mysql_free_result($result_recuperation_liste_genres);

?>
<div class="navigation" style="text-align: center;"><a href="index.php?p=gestion/famille_gere">Familles</a> » <a href="index.php?p=gestion/sousfamille_gere">sous-Familles</a> » <b>Genres</b> » <a href="index.php?p=gestion/sousgenre_gere">sous-Genres</a> » <a href="index.php?p=gestion/espece_gere">Espèces</a> » <a href="index.php?p=gestion/sousespece_gere">sous-Espèces</a> » <a href="index.php?p=gestion/variete_gere">Variétés</a></div>
<br />
<hr style="margin-left: auto; margin-right: auto; width: 62%;" />
<a name="liste"></a>
<h2>Liste des genres</h2>

<?php 

   $tabth = array ('Genre','Auteur');
      
   for($i=0;$i<$nb_genres;$i++){
  
   
      $tab_result[$i] = array (  htmlentities($lst_genres[$i]['id'], ENT_NOQUOTES, "UTF-8"),
                                 htmlentities(capitalise($lst_genres[$i]['nomGen']), ENT_NOQUOTES, "UTF-8")." (".htmlentities(capitalise($lst_genres[$i]['famille']), ENT_NOQUOTES, "UTF-8")." - <i>".htmlentities($lst_genres[$i]['classification'], ENT_NOQUOTES, "UTF-8").")",
                                 htmlentities($lst_genres[$i]['nomAuteur'], ENT_NOQUOTES, "UTF-8") );
   
   }

   
   displayListe("genre",600,$nb_total_genres,$opt_let,'',1,'');

//------------------------------------------------------------ Accès refusé à la page

	}else{
		if(isset($_SESSION)){
			if(!isset($_SESSION['user_id'])){ // si l'utilisateur n'est pas connecté
				include("pages/connexion.php");
			}else{ // si l'utilisateur est connecté et qu'il n'a pas accès à la page, c'est qu'il n'a pas le droit d'utilisation nécessaire
				include("pages/401.htm");
			}
		}
	}

?>